package org.dromara.nursing.domain.vo;

import org.dromara.nursing.domain.Contact;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 联系人信息视图对象 ms_contact_info
 *
 * @author Xue
 * @date 2025-03-18
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = Contact.class)
public class ContactVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @ExcelProperty(value = "id")
    private Long contactId;

    /**
     * 姓名
     */
    @ExcelProperty(value = "姓名")
    private String contactName;

    /**
     * 老人姓名
     */
    @ExcelProperty(value = "老人姓名")
    private String elderName;

    /**
     * 性别
     */
    @ExcelProperty(value = "性别", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_user_sex")
    private Long gender;

    /**
     * 联系电话
     */
    @ExcelProperty(value = "联系电话")
    private String phone;

    /**
     * 联系人身份证号
     */
    @ExcelProperty(value = "联系人身份证号")
    private String idCard;

    /**
     * 与老人关系
     */
    @ExcelProperty(value = "与老人关系")
    private String relationship;

    /**
     * 是否为紧急联系人
     */
    @ExcelProperty(value = "是否为紧急联系人", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_is_emergency_contact")
    private Long isEmergencyContact;

    /**
     * 联系人地址
     */
    @ExcelProperty(value = "联系人地址")
    private String address;

    /**
     * 电子邮箱
     */
    @ExcelProperty(value = "电子邮箱")
    private String email;

    /**
     * 探访频率
     */
    @ExcelProperty(value = "探访频率")
    private String visitFrequency;

    /**
     * 是否接收通知
     */
    @ExcelProperty(value = "是否接收通知", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_receive_notification")
    private Long receiveNotification;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remarks;

    /**
     * 联系人用户ID(关联sys_user表)
     */
    private Long contactUserId;

}
